package com.woniuxueyuan;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class Main1 {
    public static void main(String[] args) {
        ArrayList<Person> list = new ArrayList<>();
        list.add(new Person(1001, "tom", 22));
        list.add(new Person(1002, "jerry", 26));
        list.add(new Person(1003, "merry", 20));
        Stream.of("XIAOHUA","XIAOYU","XIAOHUA")
                .distinct()
                .forEach(System.out::println);
        //        list.stream()
       List<Person> list1 = list.stream() //把集合变成流
                .limit(5)
                        .filter(person -> person.getName().contains("e")) //姓名中包含e的
                .sorted(Comparator.comparing(Person::getAge)) //排序
//                .forEach(System.out::println);//终止操作
         .collect(Collectors.toList());//终止操作，并返回一个结果
        list1.forEach(System.out::println);
        //传统方式
//        ArrayList<Person> list2 = new ArrayList<>();
//        for (Person person : list) {
//            if(person.getName().contains("e")){
//                list2.add(person);
//            }
//        }
//        list2.sort(new Comparator<Person>() {
//            @Override
//            public int compare(Person o1, Person o2) {
//                return o1.getAge()-o2.getAge();
//            }
//        });
//        list.stream()//集合变成流
//                .map(Person::getName).//中间操作
//                forEach(System.out::println);//终止操作
        //传统方式
//        for (Person person : list) {
//            System.out.println(person);
//        }
        //lamdba方式
//        list.forEach(person -> System.out.println(person));
//        //方法引用
//        //list.foreach(soutc)
//        list.forEach(System.out::println);
    }
}